
const {Controller}=require('egg');

class AddressController extends Controller{
    //使用restful api 风格的路由 控制器不能随便起名字 ，必须按照表上的方法名的名字
    //获取列表 用index方法
    async index(){
        const {ctx}=this;
        //调用service
        const result=await ctx.service.address.index();
       if(result.length){
           ctx.body={
               code:1001,
               msg:'获取地址信息成功',
               result
           }
       }else{
        ctx.body={
            code:1002,
            msg:'暂无数据'
        }
       }
        
    };
    //新增 create方法
    async create(){
        const {ctx}=this;
        const id=ctx.helper.createId(ctx.request.body.username);
        let result=await ctx.service.address.create({
            id,
            ...ctx.request.body
        });
        if(result.affectedRows){
            ctx.body={
                code:1001,
                msg:'添加成功'
            }
        }else{
            ctx.body={
                code:1002,
                msg:'添加失败'
            }
        }
    };
    //更新 update方法
    async update(){
        const {ctx}=this;
        let result=await ctx.service.address.update(ctx.request.body);
        if(result.affectedRows){
            ctx.body={
                code:1001,
                msg:'编辑成功'
            }
        }else{
            ctx.body={
                code:1002,
                msg:'编辑失败'
            }
        }
    };
    //查看信息 show方法
    async show(){
        const {ctx}=this;
       let result=await ctx.service.address.show(ctx.params);
      if(result.length){
          ctx.body={
              code:1001,
              msg:'获取地址信息成功',
              addr:result[0]
          }
      }else{
        ctx.body={
            code:1002,
            msg:'获取地址信息失败'
        }
      }
    };
    //删除 destroy方法
    async destroy(){
        const {ctx}=this;
        let result =await ctx.service.address.destroy(ctx.params);
        if(result.affectedRows){
            ctx.body={
                code:1001,
                msg:'删除地址信息成功'
            }
        }else{
            ctx.body={
                code:1002,
                msg:'删除地址信息失败'
            }
        }
    };
    async new(){
       this.ctx.body='new'
    }
};
module.exports = AddressController;